JEPG2000 is known these days as a compression coding method that is suitable for high definition images. In coding according to JPEG2000, image data is converted into data of respective color components Y, Cb, and Cr, followed by 2-dimensional discrete wavelet transform performed on the data for the purpose of frequency analysis. Wavelet coefficient data (e.g., 16-bit data) obtained by the wavelet transform is then divided into bitplanes independently with respect to each sub-band (e.g., 3LL, 3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, and 1HH in the case of level-3 wavelet transform). The data of each bitplane is scanned in a descending order of planes on a sub-band-by-sub-band basis by use of three different methods, thereby performing arithmetic coding. The three methods are referred to as a significant propagation pass, a magnitude refinement pass, and a cleanup pass.
Compression of code data is performed by uniformly removing code data, successively in an ascending order of planes starting from the lowest-order bitplane, with respect to the coding passes in all the code-blocks of each sub-band that are obtained by the three different scanning methods. This is referred to as truncation. Here, the removal of code data refers to the replacement with “0” (invalid data) of a bit that needs to be removed. Coding according to JPEG2000 is described in detail in “Outline of New International Standard System for Still Image Coding (JPEG200)”, Journal of Institute of Image Information and Television Engineers 2000, Vol. 54, No. 2, pp. 164-171.
In coding according to JPEG2000, code data is successively removed from the coding passes in an ascending order of bitplanes starting from the lowest-order bitplane in each sub-band, thereby performing data compression that easily achieves a desired amount of code data (which may simply be referred to as “code amount”). Depending on the way the data is removed, however, a reproduced image obtained after decoding of the code data may suffer significant degradation of image quality.
In the JPEG2000 standard, code data after data removal is decoded with respect to each bit plane, and distortion is computed by comparing the reproduced image with an original image prior to the data removal, thereby identifying the way the data is removed that minimizes the computed distortion. In this method, however, complex computation is required to be preformed many times, resulting in a lengthy processing time. This also gives rise to a problem in that hardware implementation is extremely difficult.
Accordingly, there is a need for an image compressing apparatus which compresses image data into a desired code amount at high speed with a simple construction while maintaining the quality of a reproduced image as much as possible.